package com.zjitc.config;

import com.zjitc.obj.Teacher;
import com.zjitc.obj.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;

/**
 * Create by IntelliJ IDEA
 *
 * @author: jsonor
 * @date-Time: 2018/3/6 15:56
 * @description:
 */
//使用注解的方式进行Spring对象的配置
  //@Configuration在类上面使用，表示该类就相当于一个xml文件
@Configuration
public class JavaConfigDemo1 {
  /*@Bean 作用在一个方法上
  （返回一个对象，相当于Spring调用该方法，
   生成一个对象，存储到Spring容器中，成为一个bean）

   Name/value（如果不去设置，那么默认名为方法名）
   initMethod，destroyMethod

   */
  @Bean
  public User user(){
    User user=new User("default demo",10);
    return user;
  }
  @Bean
  public Teacher teacher(User user){
    return new Teacher(user);
  }


  //@Scope prototype(原型)
  @Bean(value = "u1")
  /*@Scope(value = "prototype")*/
  public User user1(){
    return new User("demo1",1);
  }

  @Bean(value = "u2")
  public User user2(){
    return new User("demo2",2);
  }
  @Bean(value = "u3")
  public User user3(){
    return  new User("demo1",1);
  }
}
